package cn.com.connext.scrm.domain.master;

import com.connext.common.domain.UUIDDomain;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import java.io.Serializable;
import java.time.ZonedDateTime;
import java.util.Date;

@Entity
@Table(name = "activity")   // 定义数据库表名
public class Activity implements UUIDDomain, Serializable {
    private static final long serialVersionUID = 1L;

    @Id
    private String id;//主键

    @Column(name = "activity_name", nullable = false)
    private String activityName; //活动名字

    @Column(name = "activity_page")
    private String activityPage;

    @Column(name = "description", nullable = false)
    private String description;//描述

    @Column(name = "content")
    private String content;//内容

    @Column(name = "image_url")
    private String imageUrl;//图片

    @Column(name = "url")
    private String url;//规则

    @Column(name = "scope", nullable = false)
    private int scope = 2;

    @Column(name = "start_time", nullable = false)
    private ZonedDateTime startTime;

    @Column(name = "is_delete")
    private Integer isDelete; //0  初始状态 1删除

    @Column(name = "end_time", nullable = false)
    private ZonedDateTime endTime;

    @Column(name = "deadline")
    private ZonedDateTime deadline;//奖品领取截止时间

    @Column(name = "enable_flag", nullable = false)
    private boolean enableFlag; //是否启用

    @Column(name = "audit_result")
    private Integer auditResult;//0初始状态  1审核通过  2 审核未通过

    @Column(name = "create_time")
    private Date createTime; //创建时间

    @Column(name = "is_answer")
    private boolean isAnswer = false;//是否是问答

    @Column(name = "update_time")
    private Date updateTime; //创建时间

    @Column(name = "gift_id")
    private String giftId; //礼物表id

    /**
     * 是否多路径：0否，1是
     * */
    @Column(name = "is_multipath")
    private Integer isMultipath;

    @Override
    public String getId() {
        return id;
    }

    @Override
    public void setId(String id) {
        this.id = id;
    }

    public String getActivityName() {
        return activityName;
    }

    public void setActivityName(String activityName) {
        this.activityName = activityName;
    }

    public String getActivityPage() {
        return activityPage;
    }

    public void setActivityPage(String activityPage) {
        this.activityPage = activityPage;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public ZonedDateTime getStartTime() {
        return startTime;
    }

    public void setStartTime(ZonedDateTime startTime) {
        this.startTime = startTime;
    }

    public ZonedDateTime getEndTime() {
        return endTime;
    }

    public void setEndTime(ZonedDateTime endTime) {
        this.endTime = endTime;
    }


    public ZonedDateTime getDeadline() {
        return deadline;
    }

    public void setDeadline(ZonedDateTime deadline) {
        this.deadline = deadline;
    }

    public boolean isEnableFlag() {
        return enableFlag;
    }

    public void setEnableFlag(boolean enableFlag) {
        this.enableFlag = enableFlag;
    }

    public int getScope() {
        return scope;
    }

    public void setScope(int scope) {
        this.scope = scope;
    }

    public String getContent() {
        return content;
    }

    public void setContent(String content) {
        this.content = content;
    }

    public String getImageUrl() {
        return imageUrl;
    }

    public void setImageUrl(String imageUrl) {
        this.imageUrl = imageUrl;
    }

    public String getUrl() {
        return url;
    }

    public void setUrl(String url) {
        this.url = url;
    }

    public Integer getAuditResult() {
        return auditResult;
    }

    public void setAuditResult(Integer auditResult) {
        this.auditResult = auditResult;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }


    public boolean getIsAnswer() {
        return isAnswer;
    }

    public void setIsAnswer(boolean isAnswer) {
        this.isAnswer = isAnswer;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public Integer getIsDelete() {
        return isDelete;
    }

    public void setIsDelete(Integer isDelete) {
        this.isDelete = isDelete;
    }

    public String getGiftId() {
        return giftId;
    }

    public void setGiftId(String giftId) {
        this.giftId = giftId;
    }

    public Integer getIsMultipath() {
        return isMultipath;
    }

    public void setIsMultipath(Integer isMultipath) {
        this.isMultipath = isMultipath;
    }
}
